/*
* 非空类型断言使用的是!，表示可以确定某个标识符是有值的，跳过TS在编译阶段对它的检测
* 语法：person.children!.name = "马云"
* */
var _a;
var person = {
    name: "陶品奇",
    age: 22
};
// 访问属性的情况：可选链 ?.
console.log((_a = person.children) === null || _a === void 0 ? void 0 : _a.name);
// 属性赋值的情况：
// 解决方案一：类型缩小
if (person.children) {
    person.children.name = "马云";
}
// 解决方案二：非空类型断言(危险！！！只有确保children一定有值的时候才能使用)
person.children.name = "马云";
console.log(person);
